﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Level26EnglishLetters : MonoBehaviour
{
    private string curStr = string.Empty;
    public Text loveText;
    private List<string> letters = new List<string>();
    public List<TextButton> buttonList = new List<TextButton>();
    public GameLevelItem gameLevelItem;
    // Start is called before the first frame update
    void Start()
    {
        InitLetters();
        InitEvent();
        UpdateLoveText();
    }

    private void InitLetters()
    {
        letters.Add("c");
        letters.Add("d");
        letters.Add("e");
        letters.Add("b");
        letters.Add("t");
        letters.Add("h");
        letters.Add("a");
        letters.Add("f");
        letters.Add("j");
        letters.Add("o");
        letters.Add("m");
        letters.Add("g");
        letters.Add("2");
        letters.Add("n");
        letters.Add("k");
        letters.Add("0");
        letters.Add("s");
        letters.Add("q");
        letters.Add("r");
        letters.Add("u");
        letters.Add("4");
        letters.Add("x");
        letters.Add("9");
        letters.Add("y");
        letters.Add("p");
        letters.Add("w");
        letters.Add("3");
        letters.Add("z");
        letters.Add("v");
        letters.Add("5");
        letters.Add("c");
        letters.Add("7");
        letters.Add("a");
        letters.Add("8");
        letters.Add("b");
        letters.Add("f");
        letters.Add("1");
        letters.Add("6");
        letters.Add("d");
        letters.Add("h");
        letters.Add("i");
        letters.Add("0");
        letters.Add("b");
        letters.Add("1");
        letters.Add("5");
        letters.Add("l");
        letters.Add("j");
        letters.Add("2");
        letters.Add("k");
        letters.Add("1");

    }
    private void InitEvent()
    {
        if (buttonList.Count - letters.Count != 0)
            Debug.LogError("按钮数量和字母数量不匹配");
        int length = buttonList.Count;
        for (int i = 0; i < length; i++)
        {
            string tempStr = letters[i];
            buttonList[i].Init(tempStr, () => {
                AddLetter(tempStr);
            });
        }
    }

    private void AddLetter(string letter)
    {
        curStr += letter;
        UpdateLoveText();
    }

    private void UpdateLoveText()
    {
        loveText.text = curStr;
        if (curStr.Length >= 5)
        {
            gameLevelItem.TriggerResult(curStr.Equals(UConst.Str_TargetLove));
        }
    }

}
